#pragma once
#include "state.h"

#include "Entity.h"

class walker_sm::Entity;

class StateOne :
	public walker_sm::State<walker_sm::Entity>
{
public:
	static StateOne* GetInstance();
	~StateOne();

	void Enter(walker_sm::Entity* entity) override;
	void Excute(walker_sm::Entity* entity) override;
	void Exit(walker_sm::Entity* entity) override;

	bool HandleMessage(walker_sm::Entity* entity, const walker_sm::Message& msg) override;
private:
	StateOne();
	StateOne(const StateOne&){}
	StateOne& operator=(const StateOne&){}
};

